This software is provided "as is" without warranty of any kind, and the author expressly disclaims all implied warranties, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the results and performance of this software is assumed by you.
PAY YOUR SHARE
These stacks are ShareWare. You may use LogicTime for 2 weeks without obligation. If you find these stacks useful after 2 weeks, please do the right thing, and send $25 per stack set copy to the address below. You may freely copy and distribute these stacks. However, you may only distribute unaltered versions, and all distributed stacks must be accompanied by this document.
WHAT YOU GET WHEN YOU REGISTER
Registered users will be offered upgrades at little or no cost, assorted goodies, and a much more conginiel me if you have touble and contact me on CompuServe or AOL. Additionally, you will get information on other 'LadoSoft' HyperCard products… and of course a good night’s sleep.
To register, or to receive more information on LogicTime, write:
LogicTime - a fully functional computerized time sheet and time tracking system.
DISCLAIMER: LogicTime has only been tested on MacII cis and its relative speed is good - Every effort has been made to increase speed both perceptually and actually. How LogicTime will work on your Mac is dependent on the speed of your processor and the amount of RAM you can devote to HyperCard.
LogicTime uses XFCNs created in CompileIt! 2.1a to increase execution speed. The source HyperTalk scripts used to create these XFCNs can be found at the end of the background script of the 'Punch' stack.
IMPORTANT: IF YOU ARE UPGRADING FROM A PREVIOUS VERSION OF LOGICTIME
You do not need to replace your 'TimeSaver' or 'Saved Time Sheet' stacks if you are using ver 2.0.1 or later. Your current stacks will function just fine with 'LogicTime 2.2'. Replacing these stacks will cause you to loose any weekly time information you have saved up until last week (unless you wish to write a script to transfer the info. There are real advantages to the new 'TimeSaver' and 'Saved Time Sheets' stacks, however, 'TimeSaver' and 'Saved Time Sheets' now support full 'LogicTime' menus and their new size (540 pixels wide) fits on 9" screens. Also, these stacks now support a consistent interface. If you do choose to replace these two stacks, it would be best if you renamed your current stacks (i.e. Saved Time SheetsOld and TimeSaver00Old).
I suggest you start using the new version of LogicTime and Punch on a Monday (or whatever day you start your week) to save you the headache of loosing any of this weeks information. You can open both your old version of 'Punch' and the new 'Punch' and copy your Job List, Client List, and Billing List from the old to the new stacks.
The biggest change from previous versions of LogicTime is the ability to attach comments to each job as you ‘Punch-Out’. To use this feature, simply make sure the ‘Comments’ option is selected on the Preferences card. Each time you end a job - after you enter the billing category - LogicTime will prompt you to enter a comment via another pop-up menu. You simply choose one of the comments in the list or select ‘New’ to enter a new comment. If you wish to revise or add a comment, go to the appropriate ‘Day List’ (via the menu) and click once on the comment you wish to change. You will be presented with a dialog. Select the comment you wish to change to and then click ‘Change’, or click ‘New’ to enter a new comment.
The other major change from previous versions are the jobs, clients, and billing category editors. Users no longer have to select jobs in the tiny window presented on the Punch stack when you click the tiny buttons. Now you simply choose the appropriate editor form the LogicTime menu and type in new information or delete old information from a standart dialog. The net effect is no different - just cleaner.
• The option to comment on each job as you punch-out along with fully editable comments.
• Time sheet now sorted by job number.
• Improvements in the time sheet reports - added room for comments.
• Editors for Jobs, Clients, Billing Categories, and Comments available from the menu. You can still use the buttons on the Punch stack to edit your pop-up lists - but the new editors easier.
• Several significant bug fixes.
• Further improvements in speed and the option of turning off auto recalcualtion and saving manditory in all earlier versions.
LogicTime 2.0 upgrade features:
• Support for 12hr or 24hr clock settings.
• A billing category for 'Unpaid' time (000).
• Support for numeric job numbers and client codes (1234), character based job numbers and client codes (ABCD) and combo job numbers or client codes (AB92).
• Faster calculation and faster inter-stack operation.
• Smaller window size (for all you 9" screen watchers).
• Keyboard shortcuts for the 'Punch' stack.
command-O to open jobs
command-[ to start jobs
command-] to end jobs
command-B to enter billing categories
• Robust calendar checking should you happen to change your Mac’s date midweek.
• Significant bug fixes.
• Consistent interface.
• Menu control (short menus or full authoring menus - see 'Preferences').
• A spiffy new splash screen.
Ronald Ladouceur
September, 1992
QUICKSTART and TUTORIAL: For impatient people like me who only learn by doing.
Make sure you are running HyperCard 2.1 or later
Make sure your HyperCard opens with at least 1,200K of
memory (check 'Get Info'). Make sure your HyperCard
'UserLevel' is set to 5 (see instructions below for doing this.)
Copy LogicTime 2.2, Punch 2.2, Saved Time Sheets, and
TimeSaver00 to your hard drive.
Double-Click on Punch 2.2, click 'New Week' and type in your name
(for now, your employee number is 00). Click ‘Erase’ when you are
asked if you wish to erase last weeks comments list.
Be patient while LogicTime sets itself up.
Choose "Preferences" from the LogicTime menu and type your name
into the indicated box. Leave 00 in employee number for now.
Leave all the options selected as is for now.
Click "LogicTime Custom Settings" on the Preferences card.
Read it, but leave everything alone for now. Click 'Done'.
Choose "Punch 2.2" from the LogicTime menu.
Click on the "J", this is your job list.
Click on the "J" again.
Choose ‘Edit Jobs’ from the LogicTime menu.
You can edit jobs directly in the job list or from the editor.
Click on the "C", this is your client list.
Click on the "C" again.
Choose ‘Edit Clients’ from the LogicTime menu.
You can edit clients directly in the job list or from the editor.
Click on the "B", this is your billing category list.
Click on the "B" again.
Choose ‘Edit Billing Categories’ from the LogicTime menu.
You can edit billing categories directly in the job list or from the editor.
Choose ‘Edit Comments’ from the LogicTime menu.
You edit billing ccomments only from the editor.
Click on the line next to the word "Job" and hold the mouse
button down. Choose '1002-001 Test Job' from the pop-up menu.
Click on the line next to the word "Start" and select 'Enter Time'
from the pop-up menu. In the dialog box, enter the time an hour ago
(i.e. if it is 11:45 AM then enter 10:45 AM - be careful to include the
colon and the AM or PM is you are using a 12 hr. clock).
Click on the line next to the "End" and select the current time
from the pop-up menu.
Click on the box that appears next to the word "Bill" and select
'100 Software Training' from the pop-up menu.
Click on the box that appears next to the word "Com" and select
'(C0) No Comment' from the pop-up menu. Wait for the save.
Choose "LogicTime 2.2" from the LogicTime menu. You should see a
time card with the job name "1002-001 Test Job" with all the
information you entered via "Punch 2.2".
Select "Do Time Sheet" from the LogicTime menu and click OK in the
dialog box.
Click 'Comments'. You will see "No Comment" is entered next to your job.
Click 'Comments' again.
Click 'Save/Print' - wait for the save - and click 'Print' in the dialog box - if
you have a printer.
Congratulations, you just learned how to use LogicTime and printed
your first time sheet!
Now, select "Preferences" again from the LogicTime menu
and customize LogicTime for your environment. Remember to
enter the number of numerals for both your job numbers and client
numbers on the 'LogicTime Custom Settings' card. Refer to the Help menu
if you have any questions.
Choose "Punch 2.2" again from the menu (or click on the Punch Clock icon).
Open the job editor by choosing ‘Edit Jobs’ from the LogicTime menu.
Delete jobs by selecting them and clicking the delete button. You can
enter new jobs via this editor by choosing ‘New Job’ from the pop-up menu
that appears when you click on the ‘Job’ line. To see how, select 'New Job'
from the 'Job' pop-up menu.
Customize both your client list and your billing category list (the "C" and "B")
to fit your own business by using the editors. Be sure to enter new clients and
categories exactly as described (see below for further instructions).
Use the program and/or read the rest of these instructions.
INTRODUCTION: LogicTime is a series of 4 associated stacks designed to function as a time clock, time sheet calculator, and a time analyzer for any individual or business. The four primary stacks are LogicTime, Punch, Saved Time Sheets and TimeSaver(employee number). LogicTime can be used by a single user, groups of users, or in a network environment. If it is set up on a network, you can track all employee time by writing stacks that access the information that is saved in the TimeSaver stacks each time an employee 'punches-out' (The full version of this program has such a stack - see above). All time is input into LogicTime via a very small and easy to understand interface stack called 'Punch'. Individuals simply select a job and a start time when they begin a job, and an end time, and a billing category when they finish the job. LogicTime takes care of organizing and saving all information, and will fill out your weekly time sheet automatically.
This program safe and well tested (but read the disclaimer above). The program is intimately tied to your Mac’s clock and calendar. Make sure both your time and date functions are set properly before using 'LogicTime'.
The Punch Stack
The input stack where employees simply enter a job name and 'punch-in' and 'punch-out.' A copy of this stack should be stored locally for both local and network configurations.
The LogicTime Stack
Holds all the information entered via the Punch stack and calculates and prints your time sheet. The time information is then saved as calculated time sheets in the Saved Time Sheet stack and as raw data in the TimeSaver stack. A copy of this stack should be stored locally for both local and network configurations.
The Saved Time Sheets Stack
In this stack, time sheets are saved as they appear after calculation. A copy of this stack should be stored locally for both local and network configurations..
The TimeSaver Stack(s)
In these stacks, time sheets are saved as raw data. You should make as many copies of TimeSaver as you have employees using this program. You must change the name of the copies to include unique employee numbers (i.e. TimeSaver59). The information in TimeSaver can be used by other stacks to analyze and track time. The TimeSaver(employee number) stacks should be stored on a network file server or other shared volume in network configurations, or locally as uniquely named stacks (by changing the employee number suffix) for non-network configurations.
IMPORTANT: DO NOT CHANGE THE NAMES OF STACKS LOGICTIME 2.2, PUNCH 2.2, OR SAVED TIME SHEETS. YOU MUST CHANGE THE NAME OF TIMESAVER00 - SEE INSTRUCTIONS BELOW.
REQUIREMENTS and LIMITATIONS: LogicTime was developed in HyperCard 2.1 and requires HyperCard 2.1 or later to run. Be sure to set the application memory size of HyperCard to be in excess of 1200K (HyperCard defaults to 875K out of the box - you might be able to get away with 1100K). The above four stacks are interrelated. You must install all 4 stacks to use this program.
LogicTime makes a couple of assumptions about your day which may or may not be valid. It assumes you start work after 7:00am and end work before 9:00pm each day (actually, you can start any time after Midnight one day and end before Midnight the next day - but you won’t be able to use the programs graphing function which begins at 7:00am and ends at 9:00pm).
Work weeks must be just that - a single week long. LogicTime will allow any day of the week to be the official 'start a new time sheet' day, but will not accurately calculate time for more than a week and will ask to be reset weekly. Of course, you can calculate your time sheet as many times within a week as you wish.
To use LogicTime, all job numbers and client codes must be of the same length (ie if you set up LogicTime for 4 digit job numbers, 0092 and 2300 are OK, 92 and 2300 are not). You may use any length job numbers or client codes. All you have to do is define them in the preferences file (see below). LogicTime supports letters and numbers as job numbers and you may use any combination of letters and numbers. However, future associated stacks may require numerical job numbers. I strongly suggest you establish a sequential job numbering system if you do not already have one in place. Trust me, it is good business.
LogicTime will require you to input a billing category each time you 'punch-out'. If you do not use billing categories to define the different types of work you do, you can enter a generic billing category of '001'). Currently, the field that holds the billing categories in the time sheet is 3 digits wide. You’ll have to modify it’s width if you have billing category codes longer than 3 digits.
LogicTime looks for the a billing category '000' as the definition of unpaid time. If you are not paid for lunch, or you take some time off during a day that you shouldn’t be paid for, you need to use this billing category.
LogicTime rounds up total daily time on each job to the next quarter hour. If you work on a job for 20 minutes in a day, LogicTime will put .50 (for 1/2 hour) in the time sheet for that day.
SETTING YOUR HYPERCARD 'USERLEVEL' TO 5
You must set the HyperCard userLevel to 5 to run LogicTime. LogicTime sets your HyperCard userLevel to 5, but you will encounter error messages if you don’t set your userLevel to 5. If you don’t know how to do this, here’s the trick. Open up the 'Home' stack that comes with HyperCard. Select 'Message Box' from the menu. Type in 'go to last card' and a carriage return. Type in the word 'magic' and a carriage return. Then select 5.
LogicTime is quite simple to use, but it does require some set-up.
IMPORTANT: LogicTime uses your Mac’s internal clock and calendar to keep track of time and to decide when to restart for a new week.
Make sure your calendar is set to today’s date.
If you are not working in a network environment, install all the stacks on your local drive. If you do not have an employee number assigned to you by your company, make one up. Re-name TimeSaver00 - TimeSaver(and your employee number) - TimeSaver59 for example.
If you are working on a network, Install a (REGISTERED) copy of LogicTime, Punch, and Saved Time Sheets on every computer using LogicTime. Then make copies of TimeSaver for as may people as you have using the program. Re-name the TimeSaver00s - TimeSaver(unique employee number), and place them on your shared drive or server.
Make sure everyone’s HyperCard is set to userLevel 5 and has at least 1200K of available memory.
Once installed, open LogicTime by double-clicking Punch2.2. LogicTime2.2 will automatically open. Click 'New Week' at the first dialog box and LogicTime will set itself up. (If you do not see a dialog with the 'New Week' button, choose 'Reset' from the 'LogicTime' menu. You will be prompted to fill in your name, employee number (the same exact number you used as a suffix for TimeSaver), and the date from which you wish to start your time sheet.
After you have answered these questions, open Preferences under the LogicTime menu.
Type your name and employee number in the appropriate boxes. Then select your time sheet options. Click the "LogicTime Custom Settings" and enter the length of your job numbers and the length of your client codes (enter 0 next to client codes if you don’t use client codes). All job numbers and client numbers entered will have to be exactly these specified characters long. Job names can be of any length. Click "Done". Also, click the button of the day your work week starts.
After you have altered your preferences, select 'Reset' from the LogicTime menu.
Open Punch 2.2 by either selecting it from the menu or clicking on the "Punch Clock" icon. On the right of the Punch 2.2 stack are 4 buttons. The top one sends you back to the LogicTime Stack. The 'J' button opens the job field, the 'C' button opens the client list field, the 'B' button open the billing category field, and clicking 'Option-B' opens a second billing category field - more about that in a moment. New to version 2.2 are the editors. In previous versions of LogicTime, you had to enter job, client, and billing category information in the fields on the Punch card. Now, you enter the same information by choosing the appropriate editor from the menu.
Enter your client list via the Client editor (select ‘Edit Clents) from the menu
Using the following format:
<client name> (space) <client code> …with client code being as
many characters as you entered on the LogicTime custom settings
card.
Enter you billing categories via the Billing editor using the following format:
To use LogicTime, all you have to do is click down over the 'Job' line and select the job your planning to work on from the pop-up menu. If it isn’t in the menu, simply select 'New Job' from the top of the pop-up list and follow the prompts.
Once you’ve selected a job, click on the 'Start' line to enter your time. The first time you start a job each day you will be asked to enter a start time. The next time you start a job, LogicTime will default to the last end time as your start time. You have the option of using the last end time as your start time or selecting a new start time.
When you’ve finished your job, click on the 'End' line. You have the option of selecting the current time as your end time, or entering a time of your own. You will then be prompted to select a billing category from the pop-up menu that will appear on the 'Bill' line.
If you have the ‘Comments’ option selected (on the Preferences card), LogicTime will prompt you to enter a comment after you have selected a billing category. Choose one from the pop-up menu or enter a new comment by selecting new.
If you make any mistakes and wish to change time entered during the current day, just go to the LogicTime stack and click 'Revise List' and (carefully) make any revisions you wish. Then click 'Resume LogicTime'. If you wish to revise any previous day’s information, go to the 'Day Lists' and revise the time there. If you wish to revise or add a comment, go to the appropriate ‘Day List’ and click once on the comment you wish to change. You will be presented with a dialog. Select the comment you wish to change to and click ‘Change’, or click ‘New’ to enter a new comment.
HOW LOGICTIME STORES INFORMATION - AND HOW TO CHANGE IT
Each time you 'Punch-out', LogicTime searches to see if the job you just worked on is new or if it has been worked on previously that day. If it is new, LogicTime opens a 'Time Card' for that job for today and enters the amount of time worked. If it is not a new job, LogicTime adds the last amount of time to the previously entered time on that jobs already opened 'Time Card' Information on the Time Cards is stored for the current day only. To revise an incorrect entry, you must go to the Time Cards, click 'Revise List', and edit in the Time Card time list window. When you have made your revision, click 'Resume LogicTime.' LogicTime will update your 'Day List'.
LogicTime saves all daily time card information to the current day’s 'Day List'. Click on the icon of the three cards with M, T, and W to go to the Day Lists. Since the Day List for the current day is updated every time you 'punch-out' and every time you exit LogicTime or Punch, go to another stack, or when you quit HyperCard, any changes you make to the current day’s 'Day List'. You can make changes to any previous day’s Day List, and those changes will be reflected in your time sheet. LogicTime 2.0’s date handling is strong enough to allow you to change your Mac’s clock to a previous (or future) date and enter of revise your time as if your Mac’s clock day was the current calendar day.
Finally, when you click 'Do Time Sheet' or select 'Do Time Sheet' from the LogicTime menu, LogicTime calculates your time and places this information on the 'Time Sheet'. When you save your time sheet, a copy of your time sheet is saved to the 'Saved Time Sheets' stack and the raw time data is saved to your 'TimeSaverxx' stack.
TROUBLESHOOTING
Since the author of this stack can’t be with you when you run into a problem, I’ve coded in the next best thing. . . a 'Fix It' routine. If you find yourself with an open field that shouldn’t be open or a message on the screen that won’t go away, select 'Fix It/Reset' from the 'LogicTime' menu. You will be asked if you want to "Fix" or "Reset" LogicTime. Unless you want to start a brand new time sheet and erase all your time info, choose "Fix It." If you don’t even have a 'LogicTime' menu, quit Hypercard and relaunch "Punch". Then you can select 'Fix It/Reset' and be on your way.
A note about HyperCard. As much as I love the program HyperCard, I have noticed a tendancy it has to 'eat' stacks every now and then. Sometimes, there is no way to recover a stack that has been damaged. Be sure you have a back-up copy of all the stacks in this set.
ADDING TO LOGICTIME
At any point during the week, you can select "Do Time Sheet" from the LogicTime menu and LogicTime will calculate a time sheet for you. When you save your time sheet all the appropriate information is saved to 'TimeSaverxx' and 'Saved Time Sheets'. But, what is more interesting is that each time a person 'punches-out' that time information is already available in the TimeSaver stack (if you have selected the ‘Auto Update’ option. If you are proficient in HyperTalk, you can write stacks which can analyze the TimeSaver information at any point during the week for any and all people using 'LogicTime'. If you are not a scripter, you can send for more information on a stack that does just what was described (see above).